// #include <iostream>
// #include <ostream>
// #include<vector>
//
// using namespace std;
//
// template<typename _Ty>
// class SystemInfo
// {
// public:
//     void insert_data(_Ty data)
//     {
//         info.push_back(data);
//     }
//
//     void print_data(string format)
//     {
//         cout << format;
//         for (auto& v: info)
//         {
//             cout << v << "\t";
//         }
//         cout << endl;
//     }
// protected:
//     vector<_Ty> info;
// };
//
// void test_template()
// {
//     SystemInfo<int> system_info;
//     system_info.insert_data(1);
//     system_info.insert_data(2);
//     system_info.print_data("abc");
// }
//
// class MM
// {
// public:
//     friend std::ostream& operator<<(std::ostream& os, const MM& obj)
//     {
//          os
//             << "name: " << obj.name
//             << " age: " << obj.age;
//         return os;
//     }
//     MM(const string& name,int age):name(name),age(age)
//     {
//
//     }
//
// protected:
//     string name;
//     int age;
// };
//
// int main()
// {
//
//
//     return 0;
// }